<?php

use App\Admin\Extensions\SelectPresenter;
use Dcat\Admin\Grid\Filter;

/**
 * 创建 equal + select 并用 MySelect 呈现
 * @param Filter $filter
 * @param string $field
 * @param string $label
 * @param array  $options  [id=>name, ...]
 * @return MySelect
 */
function equalSelect(Filter $filter, string $field, string $label, array $options = [])
{
    // 1. 实例化我们自己的 MySelect
    $presenter = new SelectPresenter($filter, $field, $label);

    // 2. 把选项塞进去（MySelect 已补 options()）
    $presenter->options($options);

    // 3. 绑定到过滤器
    $filter->equal($field, $label)->setPresenter($presenter);

    // 4. 返回 MySelect 实例，方便后面链式 attribute()
    return $presenter;
}